package com.rockwell.sniffyhunter.utils;

import com.rockwell.sniffyhunter.model.MoveToTreasure;

public enum MoveToTreasureState implements IStateMachine {
	START {
		@Override
		public
		IStateMachine doAction(IStateObject stateObject) {
			return ((MoveToTreasure)stateObject).start();
		}
	},
	CHECK_TREASURE_POS {
		@Override
		public
		IStateMachine doAction(IStateObject stateObject) {
			return ((MoveToTreasure)stateObject).CheckTreasurePos();
		}
	},
	INDEX {
		@Override
		public
		IStateMachine doAction(IStateObject stateObject) {
			return ((MoveToTreasure)stateObject).Index();
		}
	},
	ROTATE_ROBOT {
		@Override
		public
		IStateMachine doAction(IStateObject stateObject) {
			return ((MoveToTreasure)stateObject).RotateRobot();
		}
	},
	MOVE_BACK_TO_CONFIRM_TREASURE_LOST {
		@Override
		public
		IStateMachine doAction(IStateObject stateObject) {
			return ((MoveToTreasure)stateObject).moveBackToConfirmTreasureLost();
		}
	},
	DONE {
		@Override
		public
		IStateMachine doAction(IStateObject stateObject) {
			System.out.println("Pick_MoveToTreasureState> Perform Done actions");
			return START;
		}
	},
}
